package org.laobai.permission.service;

import org.laobai.permission.entity.User;
import org.laobai.permission.struct.PageResult;
import org.laobai.permission.vo.SearchVO;

import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jiusan
 * @since 2021-11-17
 */
public interface UserService extends IService<User> {

    /**
    * 分页列表查询
    * @param currPage
    * @param pageSize
    * @param vo
    * @return
    */
    PageResult<User> page(Integer currPage, Integer pageSize, SearchVO vo);

    /**
    * 添加
    * @param user
    * @return
    */
    boolean saveUser(User user);

    /**
    * 修改
    * @param user
    * @return
    */
    boolean updateUser(User user);

    /**
    * 根据ID删除
    * @param id
    * @return
    */
    boolean delById(Long id);

    /**
    * 根据主键IDs批量删除
    * @param ids
    * @return
    */
    boolean delByIds(List<Long> ids);

    /**
     * 根据用户ID 查询当前用户的角色ID
     * @param id
     * @return
     */
    List<Integer> getRidsByUid(Long id);

    /**
     * 登录
     * @param user
     * @return
     */
    User login(User user);
}
